package com.principle.abstractfactory;

/**
 * 具体生产1等级的工厂
 * @author ZH-SW-Zhangxg1
 *
 */
public class ConcreteFactory1 extends AbstractFactory {

    @Override
    public <T extends AbstractProductA> T createProductA(Class<T> clz) {
        AbstractProductA productA = null;
        try {
            productA = (AbstractProductA) Class.forName(clz.getName()).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return (T) productA;
    }

    @Override
    public <T extends AbstractProductB> T createProductB(Class<T> clz) {
        // TODO Auto-generated method stub
        return null;
    }
    

//	@Override
//	public AbstractProductA createProductA() {
//		// TODO Auto-generated method stub
//		return new ProductA1();
//	}
//
//	@Override
//	public AbstractProductB createProductB() {
//		// TODO Auto-generated method stub
//		return new ProductB1();
//	}

}
